const config = require('./config.js')

/**
 * 
 * @param {*} path  请求地址后面短连接
 * @param {*} data  请求一起携带的数据
 * @param {*} method  POST、GET
 */
module.exports = function (path, data, method) {
  return new Promise((resolve, reject) => {
    wx.request({
      url: config.baseUrl + path,
      method: method,
      data: data,
      header: {
        //'content-type': 'application/x-www-form-urlencoded',
        'content-type': 'application/json;charset=utf-8',
        'token': wx.getStorageSync('token')
      },
      success: res => {
        //请求成功（也可能失败，业务逻辑失败）
        if (res.statusCode !== 200) {
          // 失败提示用户
          fail('服务器异常', reject)
          return
        }
        resolve(res.data)
      },
      fail: function () {
        //请求失败(网络完全访问不了)
        //reject()
        fail('加载数据失败', reject)
      }
    })
  })
}
/**
 * 失败提示函数
 */
function fail(title, callback) {
  wx.hideLoading()
  wx.showModal({
    title: title,
    confirmText: '请重试',
    success: (res) => {
      if (res.confirm) {
        callback()
      }
    }
  })
}